-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
build: gyp node_base #23439
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: gyp node_base #23439
Conversation
|
Sanity CI: |
db8bdb6 to
682c932
Compare
|
CI: If I could get some review, this refactoring makes it for a much better experience in MSVS. It's now possible to only compile |
1fd5cfb to
dd230eb
Compare
|
On Windows and SmartOS Getting: Which is a linking issue... |
|
On macOS: Which means you can't "force load" with libtool. |
@refack Any more details on what the linking issue was/is? |
There's a bunch of code in node.gyp that specific to AIX Lines 925 to 972 in f1b9546
I would like to fold it into the new node_base target...
|
4055df7 to
2706a2b
Compare
0e09b56 to
1cdc26f
Compare
cc9f80c to
d821a49
Compare
|
@refack I'm assuming the presence of the |
|
Yeah. I thought I had this figured out, but it keeps surprising me with new edge cases... If you have the time I'd love some review on the first few commits, they are pretty complete: |
|
Good news, I can now do a full (cold cache) windows build in 20% less time, and with
|
a874629 to
f084e58
Compare
* remove unused includes * make writing content-stable as to not trigger rebuilding
* move `arraysize` to util.h to reduce the need for `node_intrnals.h` * make sure options_parser singletons init in order * deoptimize NodeTraceWriter
6c24c3b to
290a1b3
Compare
Motivation:
node_baseas an independant target, that we can run just to make sure the code in/src/compiles.code_cache_stub.ccto build anmkcodecacheexe. Then later relink with the generated `code_cache_gen.cc./src/node_base.gypito makenode.gypeasier to read.side-fixes:
rename_node_bin_winby naming the node lib file on Windowslibnode.libEnvironment::context()so it can safely reside in two translation units. (otherwise undefined behavior emerges).hcleanup to ensurenode_libbuilds correctly.Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes